package org.stvd.common.enums;

import java.util.LinkedHashMap;

/**
 * @Title UserRoleEnum
 * @Destribution 用户角色枚举类
 * @author houzx
 * @date 2020年10月16日
 */
public enum UserRoleEnum {

    /** 注册用户：ROLE_REGISTER */
    Register("注册用户", "ROLE_REGISTER"),

    /** 企业用户：ROLE_COMPANY */
    Company("企业用户", "ROLE_COMPANY"),

    /** 会员用户：ROLE_MEMBER */
    Member("会员用户", "ROLE_MEMBER"),

    /** 企业管理员：ROLE_COMPANY_ADMIN */
    CompanyAdmin("企业管理员", "ROLE_COMPANY_ADMIN"),
    
    /** 平台管理员：ROLE_PLATFORM_ADMIN */
    PlatformAdmin("平台管理员", "ROLE_PLATFORM_ADMIN"),

    /** 日志审计管理员：ROLE_LOGS_ADMIN */
    LogsAdmin("日志审计管理员", "ROLE_LOGS_ADMIN"),
    
    /** 系统管理员：ROLE_ADMIN */
    SystemAdmin("系统管理员", "ROLE_ADMIN");

    // 成员变量
    private String text;
    private String value;

    // 构造方法
    private UserRoleEnum(String text, String value) {
        this.text = text;
        this.value = value;
    }

    public String getText() {
        return text;
    }

    public String getValue() {
        return value;
    }

    public static String getName(String value) {
        for (UserRoleEnum approveStatus : UserRoleEnum.values()) {
            if (value.equals(approveStatus.getValue())) {
                return approveStatus.getText();
            }
        }
        return null;
    }

    public static LinkedHashMap<String, String> userRoleMap = new LinkedHashMap<String, String>();
    static {
        for (UserRoleEnum userRole : UserRoleEnum.values()) {
            userRoleMap.put(userRole.getValue(), userRole.getText());
        }
    }
}
